(x_update_begin): Regenerate the palette here, rather
authorAndrew Innes <andrewi@gnu.org>
Thu, 21 Dec 2000 14:58:31 +0000 (14:58 +0000)
committerAndrew Innes <andrewi@gnu.org>
Thu, 21 Dec 2000 14:58:31 +0000 (14:58 +0000)
than for each window.

src/w32term.c

index cf25b7e1080a32b9c2d8c90fceb47907e1d5cf37..c32b71ea1c233ed5d6a242c15b02f4fe4ef007ca 100644 (file)
@@ -544,16 +544,21 @@ w32_clear_window (f)
 /* Start an update of frame F.  This function is installed as a hook
    for update_begin, i.e. it is called when update_begin is called.
    This function is called prior to calls to x_update_window_begin for
-   each window being updated.  Currently, there is nothing to do here
-   because all interesting stuff is done on a window basis.  */
+   each window being updated.  */
 
 static void
 x_update_begin (f)
      struct frame *f;
 {
-  /* Nothing to do.  We have to do something though, otherwise the
-     function gets optimized away and the hook is no longer valid. */
-  struct frame *cf = f;
+  struct w32_display_info *display_info = FRAME_W32_DISPLAY_INFO (f);
+
+  /* Regenerate display palette before drawing if list of requested
+     colors has changed. */
+  if (display_info->regen_palette)
+  {
+    w32_regenerate_palette (f);
+    display_info->regen_palette = FALSE;
+  }
 }
 
 
@@ -573,14 +578,6 @@ x_update_window_begin (w)
 
   BLOCK_INPUT;
 
-  /* Regenerate display palette before drawing if list of requested
-     colors has changed. */
-  if (display_info->regen_palette)
-  {
-    w32_regenerate_palette (f);
-    display_info->regen_palette = FALSE;
-  }
-
   if (f == display_info->mouse_face_mouse_frame)
     {
       /* Don't do highlighting for mouse motion during the update.  */